Fix leak in ostree_content_stream_parse()
authorAlexander Larsson <alexl@redhat.com>
Mon, 10 Dec 2018 12:51:14 +0000 (13:51 +0100)
committerAtomic Bot <atomic-devel@projectatomic.io>
Mon, 10 Dec 2018 14:12:24 +0000 (14:12 +0000)
We need to ref_sink new GVariants for autoptr to work

Closes: #1784
Approved by: cgwalters

src/libostree/ostree-core.c

index 080137f3deac4b12bc9211c3f10eef557d283297..4e1a67e066d2e13901696961ccefe1b80eb49ab5 100644 (file)
@@ -626,9 +626,9 @@ ostree_content_stream_parse (gboolean                compressed,
                                 cancellable, error))
     return FALSE;
   g_autoptr(GVariant) file_header =
-    g_variant_new_from_data (compressed ? _OSTREE_ZLIB_FILE_HEADER_GVARIANT_FORMAT : _OSTREE_FILE_HEADER_GVARIANT_FORMAT,
-                             buf, archive_header_size, trusted,
-                             g_free, buf);
+    g_variant_ref_sink(g_variant_new_from_data (compressed ? _OSTREE_ZLIB_FILE_HEADER_GVARIANT_FORMAT : _OSTREE_FILE_HEADER_GVARIANT_FORMAT,
+                                                buf, archive_header_size, trusted,
+                                                g_free, buf));
   buf = NULL;
   g_autoptr(GFileInfo) ret_file_info = NULL;
   g_autoptr(GVariant) ret_xattrs = NULL;